package com.ruoyi.eqmonitor.workorder.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.system.api.domain.SysFile;

/**
 * @author breeze
 * @date 2023-11-07
 */
public class BizWorkorder extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/** 主键 */
	private String id;

	/** 工单编码 */
	@Excel(name = "工单编码")
	private String code;

	/** 工单类型 */
	@Excel(name = "工单类型")
	private String type;

	/** 工单标题 */
	@Excel(name = "工单标题")
	private String title;

	/** 所属片区 */
	@Excel(name = "所属片区")
	private String areaId;

	/** 工单来源 */
	@Excel(name = "工单来源")
	private String sourceId;

	/** 执行部门 */
	@Excel(name = "执行部门")
	private String workerDept;

	/** 执行人 */
	@Excel(name = "执行人")
	private String worker;

	/** 开始时间 */
	@Excel(name = "开始时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;

	/** 结束时间 */
	@Excel(name = "结束时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;

	/** 预警时间 */
	@Excel(name = "预警时间")
	private String warningTime;

	/** 执行轨迹 */
	@Excel(name = "执行轨迹")
	private String trail;

	/** 设备外键 */
	@Excel(name = "设备外键")
	private String deviceId;

	@Excel(name = "设备名称")
	@TableField(exist = false)
	private String deviceName;
	
	/** 设备外键 */
	@Excel(name = "设备真实编码")
	@TableField(exist = false)
	private String realDeviceCode;
	
	@Excel(name = "设备地址")
	@TableField(exist = false)
	private String deviceAddress;
	
	@Excel(name = "站点名称")
	@TableField(exist = false)
	private String siteName;
	
	@Excel(name = "设备类型")
	@TableField(exist = false)
	private String deviceType;
	
	@Excel(name = "设备类型名称")
	@TableField(exist = false)
	private String deviceTypeName;
	
	
	/** 报警外键,一般用于设备自动报警,会有很多数据支持 */
	@Excel(name = "报警外键")
	private String alarmId;
	
	/** 一般用于非设备自动报警,不会有很多数据支持 */
	@Excel(name = "报警现象")
	private String alarmPhenomenon;
	

	/** 工单状态 */
	@Excel(name = "工单状态")
	private String status;

	@Excel(name = "流程外键")
	private String flowId;
	private String flowImage;
	
	@TableField(exist = false)
	private SysFile flowImageFile;
	
	@Excel(name = "片区名称")
	@TableField(exist = false)
	private String areaName;
	
	@Excel(name = "执行部门")
	@TableField(exist = false)
	private String deptName;
	
	@Excel(name = "执行人用户名")
	@TableField(exist = false)
	private String userName;

	@Excel(name = "执行人昵称")
	@TableField(exist = false)
	private String nickName;
	
	
	/** 工单详细内容 */
	@Excel(name = "工单详细内容")
	private String detail;
	private String problemIds;
	@TableField(exist = false)
	private List<SysFile> problemFiles;
	
	/** 工单处理结果 */
	@Excel(name = "工单处理结果")
	private String result;
	
	/** 工单处理附件 */
	private String resultIds;
	@TableField(exist = false)
	private List<SysFile> resultFiles;
	
	/** 工单处理录音 */
	private String recordIds;
	@TableField(exist = false)
	private List<SysFile> recordFiles;
	
	//accept/refuse
	@Excel(name = "审批结果")
	private String approve;
	
	@Excel(name = "审批反馈")
	private String approveResult;
	
	@TableField(exist = false)
	private String interesting;
	
	
	@TableField(exist = false)
	private Long[] ids;
	
	public void setId(String id) {
		this.id = id;
	}

	public String getId() {
		return id;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getCode() {
		return code;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getType() {
		return type;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getTitle() {
		return title;
	}

	public void setDetail(String detail) {
		this.detail = detail;
	}

	public String getDetail() {
		return detail;
	}

	public void setAreaId(String areaId) {
		this.areaId = areaId;
	}

	public String getAreaId() {
		return areaId;
	}

	public void setSourceId(String sourceId) {
		this.sourceId = sourceId;
	}

	public String getSourceId() {
		return sourceId;
	}

	public void setWorkerDept(String workerDept) {
		this.workerDept = workerDept;
	}

	public String getWorkerDept() {
		return workerDept;
	}

	public void setWorker(String worker) {
		this.worker = worker;
	}

	public String getWorker() {
		return worker;
	}

	public void setWarningTime(String warningTime) {
		this.warningTime = warningTime;
	}

	public String getWarningTime() {
		return warningTime;
	}

	public void setTrail(String trail) {
		this.trail = trail;
	}

	public String getTrail() {
		return trail;
	}

	public void setDeviceId(String deviceId) {
		this.deviceId = deviceId;
	}

	public String getDeviceId() {
		return deviceId;
	}

	public void setAlarmId(String alarmId) {
		this.alarmId = alarmId;
	}

	public String getAlarmId() {
		return alarmId;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getStatus() {
		return status;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getFlowId() {
		return flowId;
	}

	public void setFlowId(String flowId) {
		this.flowId = flowId;
	}

	public String getFlowImage() {
		return flowImage;
	}

	public void setFlowImage(String flowImage) {
		this.flowImage = flowImage;
	}

	public String getAlarmPhenomenon() {
		return alarmPhenomenon;
	}

	public void setAlarmPhenomenon(String alarmPhenomenon) {
		this.alarmPhenomenon = alarmPhenomenon;
	}

	public String getProblemIds() {
		return problemIds;
	}

	public void setProblemIds(String problemIds) {
		this.problemIds = problemIds;
	}

	public List<SysFile> getProblemFiles() {
		return problemFiles;
	}

	public void setProblemFiles(List<SysFile> problemFiles) {
		this.problemFiles = problemFiles;
	}

	public SysFile getFlowImageFile() {
		return flowImageFile;
	}

	public void setFlowImageFile(SysFile flowImageFile) {
		this.flowImageFile = flowImageFile;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public String getResultIds() {
		return resultIds;
	}

	public void setResultIds(String resultIds) {
		this.resultIds = resultIds;
	}

	public List<SysFile> getResultFiles() {
		return resultFiles;
	}

	public void setResultFiles(List<SysFile> resultFiles) {
		this.resultFiles = resultFiles;
	}

	public String getRealDeviceCode() {
		return realDeviceCode;
	}

	public void setRealDeviceCode(String realDeviceCode) {
		this.realDeviceCode = realDeviceCode;
	}

	public String getApproveResult() {
		return approveResult;
	}

	public void setApproveResult(String approveResult) {
		this.approveResult = approveResult;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public String getDeviceAddress() {
		return deviceAddress;
	}

	public void setDeviceAddress(String deviceAddress) {
		this.deviceAddress = deviceAddress;
	}

	public String getSiteName() {
		return siteName;
	}

	public void setSiteName(String siteName) {
		this.siteName = siteName;
	}

	public String getDeviceType() {
		return deviceType;
	}

	public void setDeviceType(String deviceType) {
		this.deviceType = deviceType;
	}

	public String getDeviceTypeName() {
		return deviceTypeName;
	}

	public void setDeviceTypeName(String deviceTypeName) {
		this.deviceTypeName = deviceTypeName;
	}

	public String getDeviceName() {
		return deviceName;
	}

	public void setDeviceName(String deviceName) {
		this.deviceName = deviceName;
	}

	public String getRecordIds() {
		return recordIds;
	}

	public void setRecordIds(String recordIds) {
		this.recordIds = recordIds;
	}

	public List<SysFile> getRecordFiles() {
		return recordFiles;
	}

	public void setRecordFiles(List<SysFile> recordFiles) {
		this.recordFiles = recordFiles;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public Long[] getIds() {
		return ids;
	}

	public void setIds(Long[] ids) {
		this.ids = ids;
	}

	public String getInteresting() {
		return interesting;
	}

	public void setInteresting(String interesting) {
		this.interesting = interesting;
	}

	public String getApprove() {
		return approve;
	}

	public void setApprove(String approve) {
		this.approve = approve;
	}
}